package com.sg.dto.biz.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc QueryMinoTemporaryCredentialsDetailReqDto
 * @使用场景
 */
@Data
public class QueryMinoTemporaryCredentialsDetailReqDto
        extends BaseDto
        implements Serializable {

    /**
     * MINIO服务地址
     */
    @NotNull(message = "MINIO服务地址不能为空")
    @ApiModelProperty("MINIO服务地址")
    private String minioServiceAddress;

    /**
     * MINIO的钥匙
     */
    @NotNull(message = "MINIO的钥匙不能为空")
    @ApiModelProperty("MINIO的钥匙")
    private String minioKey;

    /**
     * MINIO的密钥
     */
    @NotNull(message = "MINIO的密钥不能为空")
    @ApiModelProperty("MINIO的密钥")
    private String minioSecretKey;

    /**
     * MINIO区域名称
     */
    @NotNull(message = "MINIO区域名称不能为空")
    @ApiModelProperty("MINIO区域名称")
    private String minioRegionName;

    /**
     * MINIO角色授权code
     */
    @NotNull(message = "MINIO角色授权code不能为空")
    @ApiModelProperty("MINIO角色授权code")
    private String minioRoleAuthorizationCode;

    /**
     * MINIO临时身份过期时间
     */
    @NotNull(message = "MINIO临时身份过期时间不能为空")
    @ApiModelProperty("MINIO临时身份过期时间")
    private Long minioTemporaryIdentityExpiration;

    /**
     * MINIO权限策略
     */
    @NotNull(message = "MINIO权限策略不能为空")
    @ApiModelProperty("MINIO权限策略")
    private String policy;

    /**
     * 身份人员ID
     */
    @NotNull(message = "身份人员ID不能为空")
    @ApiModelProperty("身份人员ID")
    private String originalRoleMemberId;

}
